﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CoreNhaDat;

namespace BatDongSan.Manager
{
    public partial class ManLoaiNhaDat : System.Web.UI.Page
    {
        
            int _id;
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                _id = Convert.ToInt32(Request.QueryString["id"]);
                if (!IsPostBack)
                {
                    if (_id > 0)
                    {
                        btActiveLoaiNhaDat.Text = "Cập nhật";
                        LoadDataToUpdate(_id);
                    }
                    else
                    {
                        btActiveLoaiNhaDat.Text = "Thêm mới";
                        LoadDataToUpdate(0);
                    }
                    LoadLoaiNhaDatList(Convert.ToInt32(ddlNhaDat.SelectedValue));
                }

            }
            catch { }
        }

        public void LoadLoaiNhaDatList(int nhaDatId)
        {
            try
            {
                List<nlit_LoaiNhaDat> list = new List<nlit_LoaiNhaDat>();
                list = LoaiNhaDatBll.GetList(nhaDatId, Utility.strConnect);

                grvLoaiNhaDat.DataSource = list;
                grvLoaiNhaDat.DataBind();
            }
            catch { }
        }

        public void LoadDataToUpdate(int id)
        {
            try
            {
                if (id > 0)
                {
                    nlit_LoaiNhaDat list = new nlit_LoaiNhaDat();
                    list = LoaiNhaDatBll.GetById(id, Utility.strConnect);
                    txtLoaiNhaDat.Text = list.Name;
                    BindDropdownListProvince((int)list.NhaDatId);
                }
                else
                {
                    txtLoaiNhaDat.Text = "";
                    BindDropdownListProvince(0);
                }
            }
            catch { }
        }

        protected void grvLoaiNhaDat_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                nlit_LoaiNhaDat info = (nlit_LoaiNhaDat)e.Row.DataItem;

                HyperLink hplName = (HyperLink)e.Row.FindControl("hplName");
                hplName.NavigateUrl = string.Format("~/Manager/ManLoaiNhaDat.aspx?id={0}", info.Id);

                HyperLink hplProvince = (HyperLink)e.Row.FindControl("hplProvince");
                hplProvince.Text = NhaDatBll.GetById((int)info.NhaDatId,Utility.strConnect).Name;

                TextBox txtPosition = (TextBox)e.Row.FindControl("txtPosition");
                txtPosition.Text = info.OrderDisplay.ToString();


                LinkButton lnkbtActive = (LinkButton)e.Row.FindControl("lnkbtActive");
                if (Convert.ToBoolean(info.IsActive))
                {
                    lnkbtActive.Text = "hiện";
                    lnkbtActive.ForeColor = System.Drawing.Color.Gray; lnkbtActive.Font.Bold = false;
                }
                else { lnkbtActive.Text = "Ẩn"; lnkbtActive.ForeColor = System.Drawing.Color.Red; }
                lnkbtActive.Attributes.Add("id", info.Id.ToString());

                LinkButton lnkbtDelete = (LinkButton)e.Row.FindControl("lnkbtDelete");
                lnkbtDelete.OnClientClick = "return confirm('Bạn có chắc không?')";
                lnkbtDelete.Attributes.Add("id", info.Id.ToString());
            }
        }


        protected void lnkbtActive_Click(object sender, EventArgs e)
        {
            try
            {
                
                LinkButton lnkbtActive = (LinkButton)sender;
                int id = Convert.ToInt32(lnkbtActive.Attributes["id"]);
                if (id > 0)
                {
                    if (lnkbtActive.ForeColor == System.Drawing.Color.Red)
                    {
                        //False
                        if (LoaiNhaDatBll.UpdateIsActive(id, true, Utility.strConnect))
                        {
                            lbStatus.Text = "Bạn đã xét Hiện thành công";
                            LoadLoaiNhaDatList(Convert.ToInt32(ddlNhaDat.SelectedValue));
                        }
                        else { lbStatus.Text = "Lỗi, Không thể thực hiện thao tác này."; }
                    }
                    else
                    {
                        //True
                        if (LoaiNhaDatBll.UpdateIsActive(id, false, Utility.strConnect))
                        {
                            lbStatus.Text = "Bạn đã chọn Tin #Ẩn thành công";
                            LoadLoaiNhaDatList(Convert.ToInt32(ddlNhaDat.SelectedValue));
                        }
                        else { lbStatus.Text = "Lỗi, Không thể thực hiện thao tác này."; }
                    }
                }
            }
            catch { }
        }
        protected void lnkbtDelete_Click(object sender, EventArgs e)
        {
            try
            {
                LinkButton lnkbtDelete = (LinkButton)sender;
                int id = Convert.ToInt32(lnkbtDelete.Attributes["id"]);

                if (id > 0)
                {
                    if (LoaiNhaDatBll.UpdateIsDeleted(id, true, Utility.strConnect))
                    {
                        lbStatus.Text = "Bạn xóa thành công";
                    }
                    else
                    {
                        lbStatus.Text = "Thất bại rồi bạn à";
                    }
                    LoadLoaiNhaDatList(Convert.ToInt32(ddlNhaDat.SelectedValue));
                }
            }
            catch { }
        }

        protected void grvLoaiNhaDat_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            grvLoaiNhaDat.PageIndex = e.NewPageIndex;
            LoadLoaiNhaDatList(Convert.ToInt32(ddlNhaDat.SelectedValue));
        }

       
        protected void btActiveLoaiNhaDat_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtLoaiNhaDat.Text.Trim()))
                {
                    lbStatus.Text = " Bạn cần nhập tên loại nhà đất.";
                    return;
                }
                nlit_LoaiNhaDat Info = new nlit_LoaiNhaDat();
                Info.Id = _id;
                Info.Name = txtLoaiNhaDat.Text.Trim();
                Info.NhaDatId = Convert.ToInt32(ddlNhaDat.SelectedValue);
                if (_id > 0)
                {
                    if (LoaiNhaDatBll.Update(Info, Utility.strConnect))
                    {
                        lbStatus.Text = "Cập nhật thông loại nhà đất thành công";
                        
                    }

                    else
                        lbStatus.Text = "Cập nhật thông tin loại nhà đất thất bại";
                }
                else
                {
                    Info.IsActive = true;
                    Info.IsDeleted = false;
                    Info.OrderDisplay = 0;
                    if (LoaiNhaDatBll.Insert(Info, Utility.strConnect) > 0)
                    {
                        lbStatus.Text = "Thêm mới thông tin loại nhà đất  thành công";
                    }
                    else
                        lbStatus.Text = "Thêm mới thông tin loại nhà đất thất bại";
                }
                LoadDataToUpdate(_id);
                LoadLoaiNhaDatList(Convert.ToInt32(ddlNhaDat.SelectedValue));
            }
            catch { }
        }

        protected void BindDropdownListProvince(int idProvince)
        {
            try
            {
                ddlNhaDat.Items.Clear();
                List<nlit_NhaDat> list = NhaDatBll.GetList(Utility.strConnect);
                if (list.Count > 0)
                {
                    for (int i = 0; i < list.Count; i++)
                    {
                        nlit_NhaDat module = list[i];
                        ListItem li = new ListItem(list[i].Name, list[i].Id.ToString());
                        ddlNhaDat.Items.Add(li);
                        if (list[i].Id == idProvince)
                        {
                            ddlNhaDat.SelectedIndex = i;
                        }
                    }
                }
            }
            catch { }
        }

        protected void btUpdatePosition_Click(object sender, EventArgs e)
        {
            try
            {
                foreach (GridViewRow row in grvLoaiNhaDat.Rows)
                {
                    try
                    {
                        Label lbId = (Label)row.FindControl("lblId");
                        int id = Convert.ToInt32(lbId.Text);
                        TextBox txt = (TextBox)row.FindControl("txtPosition");
                        int pos = Convert.ToInt32(txt.Text);
                        if (LoaiNhaDatBll.UpdateOrderDisplay(id, pos, Utility.strConnect))
                            lbStatus.Text = "Cập nhật vị trí thành công";
                    }
                    catch { }
                }
                LoadLoaiNhaDatList(Convert.ToInt32(ddlNhaDat.SelectedValue));
            }
            catch { }
        }

        protected void ddlNhaDat_SelectedIndexChanged(object sender, EventArgs e)
        {
            LoadLoaiNhaDatList(Convert.ToInt32(ddlNhaDat.SelectedValue));
        }
    }
}